
#include "freertos/FreeRTOS.h"
#include "freertos/event_groups.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "nvs_flash.h"

#define BTN_GPIO (0)


int buttonInit(void)
{
    gpio_config_t gpio_t = 
    {
        .intr_type = GPIO_INTR_DISABLE,     //禁止中断
        .mode = GPIO_MODE_INPUT,            //输入模式
        .pin_bit_mask = (1ull<<BTN_GPIO),   //GPIO引脚号
        .pull_down_en = GPIO_PULLDOWN_DISABLE,  //禁止下拉
        .pull_up_en = GPIO_PULLUP_ENABLE,   //使能上拉
    };
    ESP_ERROR_CHECK(gpio_config(&gpio_t));
    return 0;
}


void buttonTsak(void *arg)
{
    // gpio_config_t gpio_t = 
    // {
    //     .intr_type = GPIO_INTR_DISABLE,     //禁止中断
    //     .mode = GPIO_MODE_INPUT,            //输入模式
    //     .pin_bit_mask = (1ull<<BTN_GPIO),   //GPIO引脚号
    //     .pull_down_en = GPIO_PULLDOWN_DISABLE,  //禁止下拉
    //     .pull_up_en = GPIO_PULLUP_ENABLE,   //使能上拉
    // };
    // ESP_ERROR_CHECK(gpio_config(&gpio_t));

    while (1) {
        if(gpio_get_level(BTN_GPIO) == 0) {
            vTaskDelay(pdMS_TO_TICKS(1000));
            if (gpio_get_level(BTN_GPIO) == 0) {
                printf("长按\n");
                nvs_flash_erase();
                esp_restart();
            }
        }
        vTaskDelay(pdMS_TO_TICKS(500));
    }
}